﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using Microsoft.Win32;
using System.IO;
using System.Threading;

namespace DataLayer
{
    public class Data
    {
        // bây giờ bắt đầu với lớp đầu tiên là lớp datalayer
        SqlConnection sqlConn = new SqlConnection(@"Data Source=THI-PC\SQLEXPRESS;Initial Catalog=qldv;Integrated Security=True;Pooling=False");
        // xong chuỗi kết nối 
        // đầu tiên là phải phân biệt trong SQL thực chất là có 2 dạng câu lệnh
        /*
         truy vấn --> (select) -- có 2 loại truy vấn có tham số và truy vấn ko có tham số
         * 2.không truy vấn --->(insert,delete,update) ---> thường là có tham số ...
         */
        //viết cho hiển thị 1 câu lệnh dạng text được truyền vào
        public DataTable view_text(string s)
        {
            try
            {
                sqlConn.Open();
            }
            catch
            {
                //MessageBox.Show("Kết nối không thành công!");
            }

            SqlDataAdapter da = new SqlDataAdapter(s, sqlConn);
            DataTable dt = new DataTable();
            da.Fill(dt);
            sqlConn.Close();
            return dt;
            // trả về 1 datatable
        }
        public void proc_TS(string s, SqlParameter[] sp)
        {
            // thủ tục có tham số
            try
            {
                sqlConn.Open();
            }
            catch
            {
                //MessageBox.Show("Kết nối không thành công!");
            }
            // s là tên của thủ tục ( procedures)
            SqlCommand cmd = new SqlCommand(s, sqlConn);
            cmd.CommandType = CommandType.StoredProcedure;
            // truyền vào cả 1 mảng các tham số 
            foreach (SqlParameter s1 in sp)
            {
                cmd.Parameters.Add(s1);
            }
            cmd.ExecuteNonQuery();
            // quên chưa đóng mở kết nối :(
            sqlConn.Close();
        }
        //-----> build
    }
}
